using System;
using UnityEngine;

namespace GGameFramework.Core.Pool
{
    /// <summary>
    /// 固定大小GameObject对象池
    /// </summary>
    public class FixedGameObjectPool<T> : GameObjectPool<T> where T : GameObjectPoolable
    {
        public FixedGameObjectPool(
            Func<T> createFunc,
            Action<T> onSpawn = null,
            Action<T> onRecycle = null,
            Action<T> onDestroy = null,
            int capacity = 10,
            Transform poolRoot = null) 
            : base(createFunc, onSpawn, onRecycle, onDestroy, new FixedSizePoolingStrategy(), capacity, poolRoot)
        {
        }
    }
} 